package com.quanyan.comment.serviceFacade;




import com.quanyan.api.APIResponse;
import com.quanyan.comment.reqeust.ReqUserCollect;
import com.quanyan.comment.reqeust.ReqUserCollectQuery;
import com.quanyan.comment.response.RespUserCollect;
import com.quanyan.common.Plugin.PageObj;

import java.util.List;

/**
 * Created by jian.zhou on 2016/6/2.
 * 用户收藏接口
 */
public interface UserCollectServiceFacade {

    /**
     * 用户收藏
     * @param reqUserCollect
     * @return
     */
    APIResponse userCollect(ReqUserCollect reqUserCollect);

    /**
     * 取消用户收藏
     * @param reqUserCollect
     * @return
     */
    APIResponse cancleUserCollect(ReqUserCollect reqUserCollect);

    /**
     * 查询用户所有收藏
     * @return
     */
    APIResponse<PageObj<List<RespUserCollect>>> queryUserCollect(ReqUserCollectQuery reqUserCollectQuery);


    /**
     * 查询业务被多少用户收藏
     * @return true 未收藏 false 已收藏
     */
    APIResponse< PageObj<List<Integer>>> queryUsersByBusiness(ReqUserCollectQuery reqUserCollectQuery);


    /**
     *
     * @param reqUserCollect
     * @return
     */
    APIResponse<Boolean> isUserCollect(ReqUserCollectQuery reqUserCollect);


    /**
     * 批量取消用户收藏
     * @param reqUserCollect
     * @return
     */
    APIResponse batchCancelUserCollect(ReqUserCollect reqUserCollect, List<Integer> lstBusinessId);

    /**
     * 查询活动收藏
     * @param reqUserCollectQuery
     * @return
     */
    PageObj<List<RespUserCollect>> queryActivityCollect(ReqUserCollectQuery reqUserCollectQuery);
}
